home *** CD-ROM | disk | FTP | other *** search
- .386
- .MODEL FLAT,STDCALL
- locals
- jumps
- UNICODE=0
- include w32.inc
-
- Extrn SetUnhandledExceptionFilter : PROC
-
- .data
-
- sprava1 db "Detekcia volanim Int 68h",0
- sprava3 db "Soft-Ice najdeny",0
- sprava2 db "Soft-Ice nenasiel",0
- odlozESP dd 0 ;sem uklada register ESP
- predchadzajuca dd 0 ;sem uklada adresu predchadzajucej obsluhy SEH
-
-
- .code
-
- Start:
-
- ;----------------------------------------------------------------------------
- ;NASTAVI SEH PRE PRIPAD CHYBY
- ;----------------------------------------------------------------------------
- mov [odlozESP],esp
- push offset chyba
- call SetUnhandledExceptionFilter
- mov [predchadzajuca], eax
- ;----------------------------------------------------------------------------
-
-
- mov ah,43h ;cislo obsluhy
- int 68h ;vola prerusenie INT 68h
-
- push eax ;ulozi navratovu hodnotu
-
- ;----------------------------------------------------------------------------
- ;NASTAVI PREDCHADZAJUCU OBSLUHU SEH
- ;----------------------------------------------------------------------------
- push dword ptr [predchadzajuca]
- call SetUnhandledExceptionFilter
- ;----------------------------------------------------------------------------
-
- pop eax ;obnovi navratovu hodnotu
-
- cmp ax,0f386h ;testuje, ci je navratova hodnota "magicke" cislo
- jz skok ;ak ano skok, pretoze Soft-Ice je aktivny v pamati
-
-
- continiue:
- call MessageBoxA,0, offset sprava2, offset sprava1,0
- call ExitProcess, -1
-
- skok:
-
- call MessageBoxA,0, offset sprava3, offset sprava1,0
- call ExitProcess, -1
-
-
-
-
- chyba: ;nova obsluha SEH pre pripad chyby
-
- mov esp, [odlozESP]
- push offset continiue
- ret
-
- ends
- end Start
-